/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.pedagio.modelo;

import com.pedagio.dominio.Atendimento;
import com.pedagio.dominio.ComputadorBordo;
import com.pedagio.dominio.SmartCard;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.List;
import javax.swing.table.AbstractTableModel;

/**
 *
 * @author pedroo
 */
public class AtendimentoModelo extends AbstractTableModel {
    
    String[] column = {"Sequencial", "Placa", "FormaPagamento", "Data" };
    List<Atendimento> data = new ArrayList<Atendimento>();

    @Override
    public int getRowCount() {
       return column.length;  
    }

    @Override
    public int getColumnCount() {
        return data.size();  
    }
    
    @Override  
     public Object getValueAt(int rowIndex, int columnIndex) {  
   
         Atendimento atendimento = data.get(rowIndex);           
         if(columnIndex == 0)
            return atendimento.getId().toString();
         else if(columnIndex == 1)
             return atendimento.getUsuario().getNome();
         else if(columnIndex == 2) {
             if(atendimento.getFormaPagamento() instanceof SmartCard) {
                 return "SMART CARD";
             } else if(atendimento.getFormaPagamento() instanceof ComputadorBordo) {
                 return "COMPUTADOR DE BORDO";
             } else {
                 return "FATURA";
             }
         }             
         else if(columnIndex == 3) {
            String format  = "";
            if(atendimento.getData() != null) {
                DateFormat formato = new SimpleDateFormat("dd/MM/yyyy");
                format = " - " + formato.format(atendimento.getData());
            }
            return format;
         } else   
             return null;          
           
     }  
       
     public void addRow(Atendimento veiculo) {  
         data.add( veiculo );  
     }  
       
     public Atendimento getRow (int rowIndex) {  
         return data.get(rowIndex);  
     }  
    
}
